#ifndef FILEDATA_H
#define FILEDATA_H

#include <QObject>
#include <QJsonDocument>
#include <QJsonObject>
#include <QJsonArray>
#include <QVariant>
#include "EZTally/EZTallyObject.h"

class FileData : public QObject , public EZTally::EZTallyObject
{
    Q_OBJECT
public:
    FileData();

    int loadFromFilePath(const QString &);
    int saveToFilePath(const QString &filePath=QString() );
    QString filePath();

//    void setJsonValueWithKey(const QString&,const QJsonValue&);
//    QJsonValue jsonValueWithKey(const QString&);
    bool boolValueWithKey(const QString&);
    void setBoolValueWithKey(const QString&,bool value);

    int intValueWithKey(const QString&);
    void setIntValueWithKey(const QString&,int value);

    QString stringValueWithKey(const QString&);
    void setStringValueWithKey(const QString&,const QString &value);

    QVariant valueWithKey(const QString&);
    void setValueWithKey(const QString&,const QVariant&);

protected:
    virtual ~FileData();

    QString _filePath;

//    QJsonDocument _document;
    QJsonObject _object;
};

#endif // FILEDATA_H
